SNMP-PROXY-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    snmpModules
        FROM SNMPv2-SMI

    RowStatus,
    StorageType
        FROM SNMPv2-TC

    SnmpEngineID,
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB

    SnmpTagValue
        FROM SNMP-TARGET-MIB

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF;

snmpProxyMIB MODULE-IDENTITY
    LAST-UPDATED "9808040000Z"
    ORGANIZATION "IETF SNMPv3 Working Group"
    CONTACT-INFO
        "WG-email:   snmpv3@lists.tislabs.com
         Subscribe:  majordomo@lists.tislabs.com
                     In message body:  subscribe snmpv3

         Chair:      Russ Mundy
                     Trusted Information Systems
         Postal:     3060 Washington Rd
                     Glenwood MD 21738
                     USA
         EMail:      mundy@tislabs.com
         Phone:      +1-301-854-6889

         Co-editor:  David B. Levi
                     SNMP Research, Inc.
         Postal:     3001 Kimberlin Heights Road
                     Knoxville, TN 37920-9716
         EMail:      levi@snmp.com
         Phone:      +1 423 573 1434

         Co-editor:  Paul Meyer
                     Secure Computing Corporation
         Postal:     2675 Long Lake Road
                     Roseville, MN 55113
         EMail:      paul_meyer@securecomputing.com
         Phone:      +1 651 628 1592

         Co-editor:  Bob Stewart
                     Cisco Systems, Inc.
         Postal:     170 West Tasman Drive
                     San Jose, CA 95134-1706
         EMail:      bstewart@cisco.com
         Phone:      +1 603 654 2686"
    DESCRIPTION
        "This MIB module defines MIB objects which provide
         mechanisms to remotely configure the parameters
         used by a proxy forwarding application."
    REVISION    "9808040000Z"
    DESCRIPTION "Clarifications, published as
                 RFC2573."
    REVISION    "9707140000Z"
    DESCRIPTION "The initial revision, published as RFC2273."
    ::= { snmpModules 14 }

snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }

--
--
-- The snmpProxyObjects group
--
--

snmpProxyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SnmpProxyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table of translation parameters used by proxy forwarder
         applications for forwarding SNMP messages."
    ::= { snmpProxyObjects 2 }

snmpProxyEntry OBJECT-TYPE
    SYNTAX      SnmpProxyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A set of translation parameters used by a proxy forwarder
         application for forwarding SNMP messages.

         Entries in the snmpProxyTable are created and deleted
         using the snmpProxyRowStatus object."
    INDEX { IMPLIED snmpProxyName }
    ::= { snmpProxyTable 1 }

SnmpProxyEntry ::= SEQUENCE {
    snmpProxyName               SnmpAdminString,
    snmpProxyType               INTEGER,
    snmpProxyContextEngineID    SnmpEngineID,
    snmpProxyContextName        SnmpAdminString,
    snmpProxyTargetParamsIn     SnmpAdminString,
    snmpProxySingleTargetOut    SnmpAdminString,
    snmpProxyMultipleTargetOut  SnmpTagValue,
    snmpProxyStorageType        StorageType,
    snmpProxyRowStatus          RowStatus
}

snmpProxyName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The locally arbitrary, but unique identifier associated
         with this snmpProxyEntry."
    ::= { snmpProxyEntry 1 }

snmpProxyType OBJECT-TYPE
    SYNTAX      INTEGER {
                    read(1),
                    write(2),
                    trap(3),
                    inform(4)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The type of message that may be forwarded using
         the translation parameters defined by this entry."
    ::= { snmpProxyEntry 2 }

snmpProxyContextEngineID OBJECT-TYPE
    SYNTAX      SnmpEngineID
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The contextEngineID contained in messages that
         may be forwarded using the translation parameters
         defined by this entry."
    ::= { snmpProxyEntry 3 }

snmpProxyContextName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The contextName contained in messages that may be
         forwarded using the translation parameters defined
         by this entry.

         This object is optional, and if not supported, the
         contextName contained in a message is ignored when
         selecting an entry in the snmpProxyTable."
    ::= { snmpProxyEntry 4 }

snmpProxyTargetParamsIn OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object selects an entry in the snmpTargetParamsTable.
         The selected entry is used to determine which row of the
         snmpProxyTable to use for forwarding received messages."
    ::= { snmpProxyEntry 5 }

snmpProxySingleTargetOut OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object selects a management target defined in the
         snmpTargetAddrTable (in the SNMP-TARGET-MIB).  The
         selected target is defined by an entry in the
         snmpTargetAddrTable whose index value (snmpTargetAddrName)
         is equal to this object.

         This object is only used when selection of a single
         target is required (i.e. when forwarding an incoming
         read or write request)."
    ::= { snmpProxyEntry 6 }

snmpProxyMultipleTargetOut OBJECT-TYPE
    SYNTAX      SnmpTagValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object selects a set of management targets defined
         in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).

         This object is only used when selection of multiple
         targets is required (i.e. when forwarding an incoming
         notification)."
    ::= { snmpProxyEntry 7 }

snmpProxyStorageType OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The storage type of this conceptual row."
    DEFVAL { nonVolatile }
    ::= { snmpProxyEntry 8 }

snmpProxyRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must
         set this object to either createAndGo(4) or
         createAndWait(5).

         The following objects may not be modified while the
         value of this object is active(1):
             - snmpProxyType
             - snmpProxyContextEngineID
             - snmpProxyContextName
             - snmpProxyTargetParamsIn
             - snmpProxySingleTargetOut
             - snmpProxyMultipleTargetOut"
    ::= { snmpProxyEntry 9 }

--
--
-- Conformance information
--
--

snmpProxyCompliances OBJECT IDENTIFIER ::=
                                         { snmpProxyConformance 1 }
snmpProxyGroups      OBJECT IDENTIFIER ::=
                                         { snmpProxyConformance 2 }

--
--
-- Compliance statements
--
--

snmpProxyCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for SNMP entities which include
         a proxy forwarding application."
    MODULE SNMP-TARGET-MIB
        MANDATORY-GROUPS { snmpTargetBasicGroup,
                           snmpTargetResponseGroup }
    MODULE -- This Module
        MANDATORY-GROUPS { snmpProxyGroup }
    ::= { snmpProxyCompliances 1 }

snmpProxyGroup OBJECT-GROUP
    OBJECTS {
        snmpProxyType,
        snmpProxyContextEngineID,
        snmpProxyContextName,
        snmpProxyTargetParamsIn,
        snmpProxySingleTargetOut,
        snmpProxyMultipleTargetOut,
        snmpProxyStorageType,
        snmpProxyRowStatus
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing remote configuration of
         management target translation parameters for use by
         proxy forwarder applications."
    ::= { snmpProxyGroups 3 }

END
